/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package PP3.Negocio;


import PP3.Datos.Datos_Sql;
import java.sql.*;

/**
 *
 * @author GROVER
 */
public class Cliente extends Datos_Sql{

    public Cliente() throws SQLException {
    }

    public Cliente(int idcliente, String direccion, String telefono, int nit, String nombre_usuario, String contrasena, int idrubro) throws SQLException {
        this.Id = idcliente;
        this.Direccion = direccion;
        this.Telefono = telefono;
        this.Nit = nit;
    }
    
    public int getId() {
        return Id;
    }

    public void setId(int Id) {
        this.Id = Id;
    }

    public String getDireccion() {
        return Direccion;
    }

    public void setDireccion(String Direccion) {
        this.Direccion = Direccion;
    }

    public String getTelefono() {
        return Telefono;
    }

    public void setTelefono(String Telefono) {
        this.Telefono = Telefono;
    }

    public int getNit() {
        return Nit;
    }

    public void setNit(int Nit) {
        this.Nit = Nit;
    }
    private int Id;
    private String Direccion;
    private String Telefono;
    private int Nit ;
    
    public boolean guardar() throws SQLException{
        String strcad="insert into Cliente values(";
        strcad+= Integer.toString(this.getId());
        strcad+=",'"+this.getDireccion()+"'";
        strcad+=",'"+this.getTelefono()+"'";
        strcad+=","+Integer.toString(this.getNit())+")";              
        return this.ejecutar(strcad);
    }
    public boolean  modificar() throws SQLException{
        String strcad="update Cliente ";
        strcad+="set Direccion='"+this.getDireccion()+"'";
        strcad+="set Telefono='"+this.getTelefono()+"'";
        strcad+="set Nit="+Integer.toString(this.getNit());             
        strcad+=" where Id="+Integer.toString(this.getId());
        return this.ejecutar(strcad);
    }
    public boolean eliminar() throws SQLException{
        String strcad="delete from cliente  ";
        strcad+="where Id="+Integer.toString(this.getId());
        return this.ejecutar(strcad);
    }
    public ResultSet Traer_cliente()throws SQLException{
        String str="";
        if(this.Id==0){
            str="SELECT * FROM cliente";
        }
        else
            str="SELECT * FROM cliente where idcliente="+Integer.toString(this.getId());
        return this.seleccionar(str);
    }
    
    public ResultSet Traer_ClientePorNombre(String Nombre_cliente)throws SQLException {
        String str="SELECT n.Id,n.NombreCliente||' '||' '||n.app||' '||n.apm as nombre_cliente,c.direccion FROM cliente c inner join Natural n on c.idcliente=n.idcliente where n.nombre_cliente like '%"+Nombre_cliente+"%' union  SELECT j.idcliente,j.razon_social as nombre_cliente,c.direccion FROM cliente c inner join juridico j on c.idcliente=j.idcliente where j.razon_social like '%"+Nombre_cliente+"%' ";
        return seleccionar(str);
    }
    public ResultSet Traer_ClienteGeneral()throws SQLException {
        String str="SELECT n.idcliente,n.nombre_cliente||' '||' '||n.app||' '||n.apm as nombre_cliente,c.direccion FROM cliente c inner join Natural n on c.idcliente=n.idcliente union SELECT j.idcliente,j.razon_social as nombre_cliente,c.direccion FROM cliente c inner join juridico j on c.idcliente=j.idcliente";
        if(this.Id!=0){
             str+=" where c.idcliente="+Integer.toString(this.Id);
        }
        return seleccionar(str);
    }
}
